/*
设有一个整形数组 A[0..N-1]；存放的元素为 0～N-1 (1<N<=10)之间的整数，且 A[i]≠A[j]（i≠j）。例如，当N=6时，有：A=（4，3，0，5，1，2）。此时，数组A的编码定义如下：
A[0]编码为0；
A[i]编码为：在A[0]，A[1]，…，A[i-1]中比A[i]的值小的个数 （i=1，2，…，N-1）
例如上面数组 A的编码为：B=（0，0，0，3，1，2）
若给出数组A，则可求出其编码。同理，若给出数组A的编码，可求出A中的原数据。

输入：
推导方向（取值为1或2，如为1，则表示根据数组求数组编码；如为2，则表示根据编码反求数组）
数组个数
数组或数组编码元素

输出：
数组编码、或数组本身（元素之间以空格分隔）
*/

/*
测试样例1:
输入：
1↵
6↵
4 3 0 5 1 2↵
输出：
0 0 0 3 1 2↵

测试样例2:
输入：
1↵
8↵
1 0 3 2 5 6 7 4↵
输出：
0 0 2 2 4 5 6 4↵

测试样例3:
输入：
2↵
6↵
0 0 2 3 1 3↵
输出：
2 0 4 5 1 3↵
*/
#include <iostream>

using namespace std;
int main(int argc, char *argv[]) {
	
}